3 files added
1 files modified
New file |
| | |
| | | /** |
| | | * CInputNumber |
| | | * @author Tevin |
| | | */ |
| | | |
| | | <template> |
| | | <view class="c-input-number"> |
| | | <AtInput |
| | | ref="input" |
| | | :name="itemRes.name" |
| | | :title="itemRes.label" |
| | | :required="itemRes.required" |
| | | :disabled="itemRes.disabled" |
| | | :error="itemRes.error" |
| | | /> |
| | | <AtInputNumber |
| | | ref="numbers" |
| | | :min="range[0]" |
| | | :max="range[1]" |
| | | :step="step" |
| | | :width="120" |
| | | :value="itemRes.formData[itemRes.name]" |
| | | :onChange="evt=>itemRes.onChange(evt)" |
| | | /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import Taro from '@tarojs/taro'; |
| | | import { $ } from '@tarojs/extend'; |
| | | import { AtInput, AtInputNumber } from 'taro-ui-vue'; |
| | | import './cInputNumber.scss'; |
| | | |
| | | export default { |
| | | name: 'CInputNumber', |
| | | components: { |
| | | AtInput, |
| | | AtInputNumber, |
| | | }, |
| | | props: { |
| | | // 表单数据资源(表单组件内部机制专用) |
| | | itemRes: Object, |
| | | // 占位提示 |
| | | placeholder: String, |
| | | // 取值范围 |
| | | range: { |
| | | type: Array, |
| | | default: [0, 100], |
| | | }, |
| | | // 步长 |
| | | step: { |
| | | type: Number, |
| | | default: 1, |
| | | }, |
| | | }, |
| | | data() { |
| | | return {}; |
| | | }, |
| | | computed: {}, |
| | | methods: {}, |
| | | mounted() { |
| | | if (process.env.TARO_ENV === 'h5') { |
| | | $(this.$refs.input.$el) |
| | | .find('.at-input__input') |
| | | .prepend(this.$refs.textarea.$el); |
| | | } else if (process.env.TARO_ENV === 'weapp') { |
| | | $(this.$refs.input.$el) |
| | | .find('.at-input__container') |
| | | .append(this.$refs.numbers.$el); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
New file |
| | |
| | | /** |
| | | * input-number |
| | | * @author Tevin |
| | | */ |
| | | |
| | | @import "../../common/sassMixin"; |
| | | |
| | | |
| | | .c-input-number { |
| | | .at-input__container { |
| | | .weui-input, |
| | | .at-input__input { |
| | | display: none; |
| | | } |
| | | } |
| | | .at-input__icon { |
| | | display: none; |
| | | } |
| | | .at-input { |
| | | padding: 16px 0; |
| | | } |
| | | .at-input-number { |
| | | .at-input-number__btn { |
| | | padding: 16px 16px; |
| | | } |
| | | .at-input-number__input { |
| | | font-size: 30px; |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | /** |
| | | * CInputNumber |
| | | * @author Tevin |
| | | */ |
| | | |
| | | import CInputNumber from '@components/forms/inputNumber/CInputNumber.vue'; |
| | | |
| | | export { |
| | | CInputNumber, |
| | | } |
| | |
| | | :name="itemRes.name" |
| | | :title="itemRes.label" |
| | | :required="itemRes.required" |
| | | :disabled="itemRes.disabled" |
| | | :error="itemRes.error" |
| | | /> |
| | | <textarea |