mali-applet-ui 0.0.37 → 0.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,10 +18,23 @@ export default {
18
18
  type: String,
19
19
  default: 'button'
20
20
  },
21
+ redirect: Boolean,
22
+ url: String,
21
23
  className: String
22
24
  },
23
25
  methods: {
24
26
  tapEvent () {
27
+ if (this.url) {
28
+ if (this.redirect) {
29
+ uni.redirectTo({
30
+ url: this.url
31
+ })
32
+ } else {
33
+ uni.navigateTo({
34
+ url: this.url
35
+ })
36
+ }
37
+ }
25
38
  this.$emit('tap', {})
26
39
  },
27
40
  clickEvent () {
@@ -45,7 +45,7 @@ export default {
45
45
  .ml-chunk-item {
46
46
  display: flex;
47
47
  flex-direction: column;
48
- padding: 10rpx;
48
+ padding: 20rpx 10rpx;
49
49
  line-height: 50rpx;
50
50
  $spans: 4.16667%, 8.33333%, 12.5%, 16.66667%, 20.83333%, 25%, 29.16667%, 33.33333%,
51
51
  37.5%, 41.66667%, 45.83333%, 50%, 54.16667%, 58.33333%, 62.5%, 66.66667%,
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <view class="ml-col" :class="[className || '', span && !width ? `span-${span}` : '', align ? `align-${align}` : '', {'is-fixed': width || shrink}]" :style="styles">
2
+ <view class="ml-col" :class="[className || '', span && !width ? `span-${span}` : '', align ? `align-${align}` : '', {'is-flex': flex,'is-fixed': width || shrink}]" :style="styles">
3
3
  <slot></slot>
4
4
  </view>
5
5
  </template>
@@ -12,6 +12,7 @@ export default {
12
12
  },
13
13
  props: {
14
14
  span: [String, Number],
15
+ flex: Boolean,
15
16
  shrink: Boolean,
16
17
  align: String,
17
18
  width: String,
@@ -30,6 +31,19 @@ export default {
30
31
  $spans: 4.16667%, 8.33333%, 12.5%, 16.66667%, 20.83333%, 25%, 29.16667%, 33.33333%,
31
32
  37.5%, 41.66667%, 45.83333%, 50%, 54.16667%, 58.33333%, 62.5%, 66.66667%,
32
33
  70.83333%, 75%, 79.16667%, 83.33333%, 87.5%, 91.66667%, 95.83333%, 100%;
34
+ &.is-flex {
35
+ display: flex;
36
+ flex-direction: row;
37
+ &.align-left {
38
+ justify-content: left;
39
+ }
40
+ &.align-center {
41
+ justify-content: center;
42
+ }
43
+ &.align-right {
44
+ justify-content: right;
45
+ }
46
+ }
33
47
  &.align-left {
34
48
  text-align: left;
35
49
  }
@@ -31,9 +31,9 @@ export default {
31
31
  }
32
32
  },
33
33
  methods: {
34
- changeEvent () {
35
- this.$emit('input', this.selectVal)
36
- this.$emit('change', { value: this.selectVal })
34
+ changeEvent (value) {
35
+ this.$emit('input', value)
36
+ this.$emit('change', { value })
37
37
  }
38
38
  }
39
39
  }
@@ -31,9 +31,9 @@ export default {
31
31
  }
32
32
  },
33
33
  methods: {
34
- changeEvent () {
35
- this.$emit('input', this.selectVal)
36
- this.$emit('change', { value: this.selectVal })
34
+ changeEvent (value) {
35
+ this.$emit('input', value)
36
+ this.$emit('change', { value })
37
37
  }
38
38
  }
39
39
  }
@@ -32,8 +32,8 @@ export default {
32
32
  }
33
33
  },
34
34
  methods: {
35
- changeEvent () {
36
- const [startDate, endDate] = this.selectDates
35
+ changeEvent (value) {
36
+ const [startDate, endDate] = value
37
37
  this.$emit('update:startDate', startDate)
38
38
  this.$emit('update:endDate', endDate)
39
39
  this.$emit('change', { startDate, endDate })
@@ -1,7 +1,14 @@
1
1
  <template>
2
- <view class="ml-form" :class="[className || '', {'is-vertical': vertical}]">
3
- <uni-forms ref="uniForm" :modelValue="data" :rules="formRules" :label-position="vertical ? 'top' : 'left'">
4
- <slot></slot>
2
+ <view class="ml-form" :class="[className || '']">
3
+ <uni-forms :key="fKey" ref="uniForm" :modelValue="data" :rules="formRules" :label-position="vertical ? 'top' : 'left'">
4
+ <slot>
5
+ <view v-for="(item, index) in items" :key="index">
6
+ <ml-form-group v-if="item.children && item.children.length">
7
+ <ml-form-item v-for="(cItem, cIndex) in item.children" :key="cIndex" :title="cItem.title" :field="cItem.field" :itemRender="cItem.itemRender" @modelvalue="updateModel"></ml-form-item>
8
+ </ml-form-group>
9
+ <ml-form-item v-else :title="item.title" :field="item.field" :itemRender="item.itemRender" @modelvalue="updateModel"></ml-form-item>
10
+ </view>
11
+ </slot>
5
12
  </uni-forms>
6
13
  </view>
7
14
  </template>
@@ -15,14 +22,23 @@ export default {
15
22
  virtualHost: true
16
23
  },
17
24
  props: {
25
+ value: Object,
18
26
  data: Object,
19
27
  items: Array,
20
28
  rules: Object,
29
+ readonly: Boolean,
21
30
  vertical: Boolean,
31
+ labelWidth: String,
22
32
  className: String
23
33
  },
34
+ provide() {
35
+ return {
36
+ mlForm: this
37
+ }
38
+ },
24
39
  data () {
25
40
  return {
41
+ fKey: 1
26
42
  }
27
43
  },
28
44
  computed: {
@@ -38,9 +54,14 @@ export default {
38
54
  return rest
39
55
  }
40
56
  },
57
+ created () {
58
+ this.$nextTick(() => {
59
+ this.fKey++
60
+ })
61
+ },
41
62
  methods: {
42
- matchComponent (item, name) {
43
- return item.itemRender && item.itemRender.name === name
63
+ getProp (item, prop, defultValue) {
64
+ return (item.itemRender.props ? item.itemRender.props[prop] : null) || defultValue
44
65
  },
45
66
  validate () {
46
67
  return this.$refs.uniForm.validate().then(() => {
@@ -55,6 +76,9 @@ export default {
55
76
  }).catch(() => {
56
77
  return {}
57
78
  })
79
+ },
80
+ updateModel ({ field, value}) {
81
+ this.$emit('input', { ...this.value, [field]: value })
58
82
  }
59
83
  }
60
84
  }
@@ -0,0 +1,26 @@
1
+ <template>
2
+ <view class="ml-form-group" :class="className">
3
+ <slot></slot>
4
+ </view>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'MlFormItem',
10
+ options: {
11
+ virtualHost: true
12
+ },
13
+ props: {
14
+ className: String
15
+ }
16
+ }
17
+ </script>
18
+
19
+ <style lang="scss">
20
+ .ml-form-group {
21
+ margin: 10rpx 0;
22
+ padding: 20rpx;
23
+ border-radius: 10rpx;
24
+ background: #ffffff;
25
+ }
26
+ </style>
@@ -1,7 +1,21 @@
1
1
  <template>
2
- <uni-forms-item :class="className" :label="title" :name="field">
3
- <slot></slot>
4
- </uni-forms-item>
2
+ <view class="ml-form-item">
3
+ <uni-forms-item
4
+ ref="uniFormItem"
5
+ :class="className"
6
+ :label="title"
7
+ :name="field"
8
+ :label-width="itemLabelWidth"
9
+ :label-position="itemVertical">
10
+ <slot>
11
+ <ml-input v-if="matchComponent('MlInput')" :value="itemValue" border @change="modelEvent"></ml-input>
12
+ <ml-date-picker v-else-if="matchComponent('MlDatePicker')" :value="itemValue" border @change="modelEvent"></ml-date-picker>
13
+ <ml-select-picker v-else-if="matchComponent('MlSelectPicker')" :value="itemValue" :options="renderOpts.options" border @change="modelEvent"></ml-select-picker>
14
+ <ml-textarea v-else-if="matchComponent('MlTextarea')" :value="itemValue" :rows="renderOpts.rows || 3" border @change="modelEvent"></ml-textarea>
15
+ <view v-else>{{ itemValue }}</view>
16
+ </slot>
17
+ </uni-forms-item>
18
+ </view>
5
19
  </template>
6
20
 
7
21
  <script>
@@ -13,7 +27,68 @@ export default {
13
27
  props: {
14
28
  title: String,
15
29
  field: String,
30
+ vertical: {
31
+ type: Boolean,
32
+ default: null
33
+ },
34
+ labelWidth: String,
35
+ itemRender: Object,
16
36
  className: String
37
+ },
38
+ inject: {
39
+ form: {
40
+ from: 'mlForm',
41
+ default: null
42
+ }
43
+ },
44
+ computed: {
45
+ itemValue () {
46
+ return this.formData[this.field]
47
+ },
48
+ formData () {
49
+ return (this.form ? this.form.value : {}) || {}
50
+ },
51
+ renderOpts () {
52
+ return this.itemRender || {}
53
+ },
54
+ itemVertical () {
55
+ let vertical = this.vertical
56
+ if (!vertical) {
57
+ vertical = this.form ? this.form.vertical : ''
58
+ }
59
+ return vertical ? 'top' : 'left'
60
+ },
61
+ itemLabelWidth () {
62
+ let labelWidth = this.labelWidth
63
+ if (!labelWidth) {
64
+ labelWidth = this.form ? this.form.labelWidth : ''
65
+ }
66
+ if (labelWidth && !isNaN(labelWidth)) {
67
+ labelWidth = `${labelWidth}rpx`
68
+ }
69
+ return labelWidth
70
+ }
71
+ },
72
+ created () {
73
+ this.init()
74
+ },
75
+ watch: {
76
+ itemVertical () {
77
+ this.init()
78
+ }
79
+ },
80
+ methods: {
81
+ init () {
82
+ this.$nextTick(() => {
83
+ this.$refs.uniFormItem.localLabelPos = this.itemVertical
84
+ })
85
+ },
86
+ matchComponent (name) {
87
+ return this.renderOpts.name === name
88
+ },
89
+ modelEvent (params) {
90
+ this.$emit('modelvalue', { field: this.field, ...params })
91
+ }
17
92
  }
18
93
  }
19
- </script>
94
+ </script>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <view class="ml-input" :class="[className || '', {'is-right': align === 'right', 'is-border': border, 'is-prefix': prefixIcon || type === 'search', 'is-suffix': suffixIcon, 'is-disabled': disabled}]">
3
3
  <view v-if="prefixIcon || type === 'search'" class="ml-input-prefix-icon">
4
- <ml-icon v-if="prefixIcon" :class="prefixIcon"></ml-icon>
4
+ <ml-icon v-if="prefixIcon" :className="prefixIcon"></ml-icon>
5
5
  <ml-icon v-else name="search"></ml-icon>
6
6
  </view>
7
7
  <input
@@ -10,9 +10,10 @@
10
10
  class="ml-input-inp"
11
11
  autocomplete="off"
12
12
  :placeholder="placeholder"
13
- @input="inputEvent" />
13
+ @input="inputEvent"
14
+ @confirm="confirmEvent"/>
14
15
  <view v-if="suffixIcon" class="ml-input-suffix-icon">
15
- <ml-icon :class="suffixIcon"></ml-icon>
16
+ <ml-icon :className="suffixIcon"></ml-icon>
16
17
  </view>
17
18
  </view>
18
19
  </template>
@@ -55,6 +56,10 @@ export default {
55
56
  const value = this.inpVal
56
57
  this.$emit('input', value)
57
58
  this.$emit('change', { value })
59
+ },
60
+ confirmEvent () {
61
+ const value = this.inpVal
62
+ this.$emit('confirm', { value })
58
63
  }
59
64
  }
60
65
  }
@@ -64,11 +69,11 @@ export default {
64
69
  .ml-input {
65
70
  display: flex;
66
71
  flex-direction: row;
67
- font-size: $uni-font-size-base;
68
72
  .ml-input-inp {
69
73
  padding: 0 20rpx;
70
74
  height: 70rpx;
71
75
  width: 100%;
76
+ font-size: $uni-font-size-base;
72
77
  }
73
78
  .ml-input-prefix-icon,
74
79
  .ml-input-suffix-icon {
@@ -76,6 +81,7 @@ export default {
76
81
  flex-shrink: 0;
77
82
  align-items: center;
78
83
  border: 1px solid #e5e5e5;
84
+ font-size: 30rpx;
79
85
  }
80
86
  .ml-input-prefix-icon {
81
87
  padding-left: 20rpx;
@@ -1,8 +1,8 @@
1
1
  <template>
2
- <picker :value="value" class="ml-month-picker" :class="[className || '', {'is-border': border}]" mode="date" fields="month" @change="changeEvent">
3
- <view class="picker-warpper">
4
- <view class="picker-text">{{ value || '请选择' }}</view>
5
- <ml-icon class="picker-icon" name="arrow-down"></ml-icon>
2
+ <picker :value="value" class="ml-month-picker" mode="date" fields="month" @change="changeEvent">
3
+ <view class="ml-month-picker-warpper" :class="[className || '', {'is-border': border}]">
4
+ <view class="ml-month-picker-text">{{ value || '请选择' }}</view>
5
+ <ml-icon class="ml-month-picker-icon" name="arrow-down"></ml-icon>
6
6
  </view>
7
7
  </picker>
8
8
  </template>
@@ -30,34 +30,33 @@ export default {
30
30
 
31
31
  <style lang="scss">
32
32
  .ml-month-picker {
33
- font-size: 14px;
33
+ display: inline-block;
34
+ font-size: $uni-font-size-base;
34
35
  box-sizing: border-box;
35
- border-radius: 4px;
36
- padding: 0 5px;
37
- padding-left: 10px;
36
+ padding: 0;
38
37
  position: relative;
39
- display: flex;
40
38
  user-select: none;
41
39
  flex-direction: row;
42
40
  align-items: center;
43
- height: 35px;
44
- width: 240rpx;
41
+ width: 100%;
45
42
  color: #6a6a6a;
43
+ }
44
+ .ml-month-picker-warpper {
45
+ position: relative;
46
+ display: flex;
47
+ flex-direction: row;
48
+ align-items: center;
49
+ padding: 0 10rpx;
50
+ height: 70rpx;
51
+ border-radius: 10rpx;
46
52
  &.is-border {
47
53
  border: 1px solid #e5e5e5;
48
54
  }
49
- .picker-warpper {
50
- position: relative;
51
- display: flex;
52
- flex-direction: row;
53
- align-items: center;
54
- width: 194rpx;
55
- }
56
- .picker-text {
57
- flex-grow: 1;
58
- }
59
- .picker-icon {
60
- color: #6a6a6a;
61
- }
55
+ }
56
+ .ml-month-picker-text {
57
+ flex-grow: 1;
58
+ }
59
+ .ml-month-picker-icon {
60
+ color: #6a6a6a;
62
61
  }
63
62
  </style>
@@ -1,11 +1,13 @@
1
1
  <template>
2
- <picker class="ml-select-picker" :class="[className || '', {'is-border': border}]" :range="optionList" :range-key="optLabelField" @change="changeEvent">
3
- <view class="picker-warpper" :style="{width: width || '160rpx'}">
4
- <view class="picker-text">
2
+ <picker class="ml-select-picker" :style="{width: width || '100%'}" :range="optionList" :range-key="optLabelField" @change="changeEvent">
3
+ <view class="ml-select-picker-warpper" :class="[className || '', {'is-border': border}]">
4
+ <view class="ml-select-picker-text">
5
5
  <text v-if="value !== null">{{ selectName }}</text>
6
6
  <text v-else class="picker-placeholder">{{ placeholder }}</text>
7
7
  </view>
8
- <ml-icon class="picker-icon" name="arrow-down" />
8
+ <view class="ml-select-picker-icon">
9
+ <ml-icon name="arrow-down" />
10
+ </view>
9
11
  </view>
10
12
  </picker>
11
13
  </template>
@@ -76,35 +78,37 @@ export default {
76
78
 
77
79
  <style lang="scss">
78
80
  .ml-select-picker {
81
+ display: inline-block;
79
82
  font-size: $uni-font-size-base;
80
83
  box-sizing: border-box;
81
- border-radius: 8rpx;
82
- padding: 0 10rpx;
83
- padding-left: 20rpx;
84
+ padding: 0;
84
85
  position: relative;
85
- display: inline-flex;;
86
86
  user-select: none;
87
87
  flex-direction: row;
88
88
  align-items: center;
89
- height: 70rpx;
89
+ width: 100%;
90
90
  color: #6a6a6a;
91
+ }
92
+ .ml-select-picker-warpper {
93
+ position: relative;
94
+ display: flex;
95
+ flex-direction: row;
96
+ align-items: center;
97
+ padding: 0 10rpx;
98
+ height: 70rpx;
99
+ border-radius: 10rpx;
91
100
  &.is-border {
92
101
  border: 1px solid #e5e5e5;
93
102
  }
94
- .picker-warpper {
95
- position: relative;
96
- display: flex;
97
- flex-direction: row;
98
- align-items: center;
99
- }
100
- .picker-text {
101
- flex-grow: 1;
102
- overflow: hidden;
103
- text-overflow: ellipsis;
104
- white-space: nowrap;
105
- }
106
- .picker-icon {
107
- color: #6a6a6a;
108
- }
103
+ }
104
+ .ml-select-picker-text {
105
+ flex-grow: 1;
106
+ overflow: hidden;
107
+ text-overflow: ellipsis;
108
+ white-space: nowrap;
109
+ }
110
+ .ml-select-picker-icon {
111
+ display: inline;
112
+ color: #6a6a6a;
109
113
  }
110
114
  </style>
@@ -0,0 +1,52 @@
1
+ <template>
2
+ <view class="ml-status-tag" :class="[className, status ? `status-${status}` : '']" :style="styles">
3
+ <slot>
4
+ <text>{{ content }}</text>
5
+ </slot>
6
+ </view>
7
+ </template>
8
+
9
+ <script>
10
+ export default {
11
+ name: 'MlStatusTag',
12
+ options: {
13
+ virtualHost: true
14
+ },
15
+ props: {
16
+ color: String,
17
+ content: String,
18
+ status: String,
19
+ className: String
20
+ },
21
+ computed: {
22
+ styles () {
23
+ return this.color ? `background:${this.color};` : ''
24
+ }
25
+ }
26
+ }
27
+ </script>
28
+
29
+ <style lang="scss">
30
+ .ml-status-tag {
31
+ display: inline-block;
32
+ color: #ffffff;
33
+ padding: 6rpx 18rpx;
34
+ border-radius: 10rpx;
35
+ font-size: 24rpx;
36
+ &.status-primary {
37
+ background: $uni-color-primary;
38
+ }
39
+ &.status-success {
40
+ background: $uni-color-success;
41
+ }
42
+ &.status-info {
43
+ background: #909399;
44
+ }
45
+ &.status-warning {
46
+ background: $uni-color-warning;
47
+ }
48
+ &.status-danger {
49
+ background: $uni-color-error;
50
+ }
51
+ }
52
+ </style>
@@ -1,11 +1,11 @@
1
1
  <template>
2
2
  <view class="ml-textarea" :class="[className || '', {'is-border': border}]">
3
- <view v-if="readonly" class="content">{{ inpVal }}</view>
3
+ <view v-if="readonly" class="ml-textarea-content">{{ inpVal }}</view>
4
4
  <view v-else>
5
- <textarea class="textarea" v-model="inpVal" :rows="rows" :maxlength="maxLength" :placeholder="placeholder" @input="inputEvent" :style="{color: fontColor, height: `${rows * 30}rpx`}"></textarea>
6
- <view v-if="showWordLimit" class="word-count">
7
- <VoiceInput v-if="showVoice" class="word-voice" v-model="inpVal" @input="inputEvent"></VoiceInput>
8
- <view class="word-numbers">{{ value ? value.length : 0 }}/{{ maxLength }}</view>
5
+ <textarea class="ml-textarea-inp" v-model="inpVal" :rows="rows" :maxlength="maxLength" :placeholder="placeholder" @input="inputEvent" :style="{color: fontColor, height: `${rows * 30}rpx`}"></textarea>
6
+ <view v-if="showWordLimit" class="ml-textarea-word-count">
7
+ <VoiceInput v-if="showVoice" v-model="inpVal" @input="inputEvent"></VoiceInput>
8
+ <view class="ml-textarea-word-numbers">{{ value ? value.length : 0 }}/{{ maxLength }}</view>
9
9
  </view>
10
10
  </view>
11
11
  </view>
@@ -67,11 +67,12 @@ export default {
67
67
  },
68
68
  methods: {
69
69
  inputEvent () {
70
- if (this.maxLength && this.inpVal && this.inpVal.length > this.maxLength) {
71
- this.$emit('input', this.inpVal.slice(0, this.maxLength))
72
- } else {
73
- this.$emit('input', this.inpVal)
70
+ let value = this.inpVal
71
+ if (this.maxLength && value &&value.length > this.maxLength) {
72
+ value = value.slice(0, this.maxLength)
74
73
  }
74
+ this.$emit('input', value)
75
+ this.$emit('change', { value })
75
76
  }
76
77
  }
77
78
  }
@@ -80,26 +81,27 @@ export default {
80
81
  <style lang="scss">
81
82
  .ml-textarea {
82
83
  font-size: $uni-font-size-base;
83
- padding: 20rpx 10rpx 10rpx 30rpx;
84
+ padding: 20rpx 10rpx 10rpx 20rpx;
84
85
  &.is-border {
85
86
  border: 1px solid #e5e5e5;
86
87
  border-radius: 10rpx;
87
88
  }
88
- & > .content {
89
+ .ml-textarea-content {
89
90
  width: 100%;
90
91
  overflow: auto;
91
92
  word-break: break-all;
92
93
  }
93
- .textarea {
94
+ .ml-textarea-inp {
94
95
  color: rgba(39, 42, 48, 0.4500);
95
96
  height: 280rpx;
96
97
  width: 100%;
98
+ font-size: $uni-font-size-base;
97
99
  }
98
- .word-count {
100
+ .ml-textarea-word-count {
99
101
  padding-top: 10rpx;
100
102
  display: flex;
101
103
  }
102
- .word-numbers {
104
+ .ml-textarea-word-numbers {
103
105
  flex-grow: 1;
104
106
  color: #999999;
105
107
  text-align: right;
@@ -1,8 +1,8 @@
1
1
  <template>
2
- <picker :value="value" class="ml-year-picker" :class="[className || '', {'is-border': border}]" mode="date" fields="year" @change="changeEvent">
3
- <view class="picker-warpper">
4
- <view class="picker-text">{{ value || '请选择' }}</view>
5
- <ml-icon class="picker-icon" name="arrow-down"></ml-icon>
2
+ <picker :value="value" class="ml-year-picker" mode="date" fields="year" @change="changeEvent">
3
+ <view class="ml-year-picker-warpper" :class="[className || '', {'is-border': border}]">
4
+ <view class="ml-year-picker-text">{{ value || '请选择' }}</view>
5
+ <ml-icon class="ml-year-picker-icon" name="arrow-down"></ml-icon>
6
6
  </view>
7
7
  </picker>
8
8
  </template>
@@ -30,34 +30,33 @@ export default {
30
30
 
31
31
  <style lang="scss">
32
32
  .ml-year-picker {
33
- font-size: 14px;
33
+ display: inline-block;
34
+ font-size: $uni-font-size-base;
34
35
  box-sizing: border-box;
35
- border-radius: 4px;
36
- padding: 0 5px;
37
- padding-left: 10px;
36
+ padding: 0;
38
37
  position: relative;
39
- display: flex;
40
38
  user-select: none;
41
39
  flex-direction: row;
42
40
  align-items: center;
43
- height: 35px;
44
- width: 240rpx;
41
+ width: 100%;
45
42
  color: #6a6a6a;
43
+ }
44
+ .ml-year-picker-warpper {
45
+ position: relative;
46
+ display: flex;
47
+ flex-direction: row;
48
+ align-items: center;
49
+ padding: 0 10rpx;
50
+ height: 70rpx;
51
+ border-radius: 10rpx;
46
52
  &.is-border {
47
53
  border: 1px solid #e5e5e5;
48
54
  }
49
- .picker-warpper {
50
- position: relative;
51
- display: flex;
52
- flex-direction: row;
53
- align-items: center;
54
- width: 194rpx;
55
- }
56
- .picker-text {
57
- flex-grow: 1;
58
- }
59
- .picker-icon {
60
- color: #6a6a6a;
61
- }
55
+ }
56
+ .ml-year-picker-text {
57
+ flex-grow: 1;
58
+ }
59
+ .ml-year-picker-icon {
60
+ color: #6a6a6a;
62
61
  }
63
62
  </style>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mali-applet-ui",
3
- "version": "0.0.37",
3
+ "version": "0.0.40",
4
4
  "description": "码里云小程序组件库",
5
5
  "files": [
6
6
  "components",
@@ -1,33 +0,0 @@
1
- <template>
2
- <view class="ml-fixed-bottom" :class="[className || '']" :style="styles">
3
- <slot></slot>
4
- </view>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: 'MlFixedBottom',
10
- options: {
11
- virtualHost: true
12
- },
13
- props: {
14
- bottom: String,
15
- className: String
16
- },
17
- computed: {
18
- styles () {
19
- return this.bottom ? `bottom:${this.bottom};` : ''
20
- }
21
- }
22
- }
23
- </script>
24
-
25
- <style lang="scss">
26
- .ml-fixed-bottom {
27
- display: flex;
28
- flex-direction: row;
29
- position: fixed;
30
- width: 100%;
31
- bottom: 40rpx;
32
- }
33
- </style>