card.js 986 Bytes
Component({
    properties: {
        address: {
            type: Object,
            value: '',
            observer: '_addressChange'
        }
    },
    data: {
        address: {
            consignee: '',
            mobile: '',
            areaText: ''
        }
    },
    methods: {
        _addressChange(address) {
            if (address) {
                const length = 45;
                let areaText = `${address.area} ${address.address}`;

                if (areaText.length > length) {
                    areaText = areaText.substring(0, length) + '...';
                }

                address.areaText = areaText;
            }

            this.setData({address});
        },
        chooseAddress() {
            this.triggerEvent('chooseAddress');
        },
        addAddressByLocal() {
            this.triggerEvent('addAddressByLocal');
        },
        addAddressByWechat() {
            this.triggerEvent('addAddressByWechat');
        }
    }
});