1 files added
2 files modified
| | |
| | | callback && callback(true); |
| | | }); |
| | | }, |
| | | $submit() { |
| | | this.handleSubmit(); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | // 当表单项变化时 |
New file |
| | |
| | | /** |
| | | * CJumpSelect |
| | | * @author Tevin |
| | | */ |
| | | |
| | | <template> |
| | | <view |
| | | class="c-select" |
| | | :class="readOnly ? 'read-only':''" |
| | | > |
| | | <view @tap="evt => handleGoSelect()"> |
| | | <AtInput |
| | | :name="itemRes.name" |
| | | :title="itemRes.label" |
| | | :required="itemRes.required" |
| | | :disabled="itemRes.disabled" |
| | | :error="itemRes.error" |
| | | :placeholder="placeholder" |
| | | :value="choose.name" |
| | | > |
| | | <view |
| | | v-show="!readOnly" |
| | | class="at-icon at-icon-chevron-right" |
| | | /> |
| | | </AtInput> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import Taro from '@tarojs/taro'; |
| | | import { AtInput } from 'taro-ui-vue'; |
| | | import './cSelect.scss'; |
| | | |
| | | export default { |
| | | name: 'CJumpSelect', |
| | | components: { |
| | | AtInput, |
| | | }, |
| | | props: { |
| | | // 表单数据资源(表单组件内部机制专用) |
| | | itemRes: Object, |
| | | // 占位提示 |
| | | placeholder: String, |
| | | // 跨页选择模式 |
| | | onPageSelectCall: Function, |
| | | // 只读模式 |
| | | readOnly: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | choose: { |
| | | name: '', |
| | | value: null, |
| | | }, |
| | | }; |
| | | }, |
| | | computed: {}, |
| | | methods: { |
| | | handleChange(evt) { |
| | | const item = this.options[evt.value]; |
| | | this.itemRes.onChange(item[this.optionKey]); |
| | | }, |
| | | handleGoSelect() { |
| | | this.onPageSelectCall(selected => { |
| | | this.choose.name = selected.name; |
| | | this.choose.value = selected.value; |
| | | this.itemRes.onChange(selected.value); |
| | | }); |
| | | }, |
| | | }, |
| | | beforeDestroy() { |
| | | this.onPageSelectCall(null); |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | */ |
| | | |
| | | import CSelect from '@components/forms/select/CSelect.vue'; |
| | | import CJumpSelect from '@components/forms/select/CJumpSelect.vue'; |
| | | |
| | | export { |
| | | CSelect, |
| | | CJumpSelect, |
| | | } |