问题杂烩
yaoye Lv5

vue

遇到element组件不能通过style正常设置高度和宽度,可以在浏览器元素界面查看该组件的class,自己在vue页面重新写一个同名class覆盖原本的

java

集合方法isEmpty()出现空指针

出处:KongshanBlog blog ArticleServiceImpl.getArticleList

1
2
3
4
5
6
7
8
9
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QArticleList {
private List<Integer> tagIds;
private String articleTitle;
private String description;
private List<Integer> categoryIds;
}

第一版:qArticleList.getCategoryIds().isEmpty() 出现空指针(isEmpty()不能用于使用null值初始化的集合,但是能用于使用new HashSet<>()之类的初始化的集合)

第二版:qArticleList.getCategoryIds()!=null&&(!qArticleList.getCategoryIds().isEmpty()) 依然空指针(因为第二个判断用了”()”,优先级高,isEmpty()空指针)

第三版:(qArticleList.getCategoryIds()!=null)||(!qArticleList.getCategoryIds().isEmpty()) 还是空指针(这个是”||”错了,应该是”&&”,”||”时,若Ste为空,前一个判断为false所以会执行第二个判断,但Set为空,所有isEmpty()空指针)

第四版:!(qArticleList.getCategoryIds()==null||qArticleList.getCategoryIds().isEmpty()) 正常了

uni-app js中this失效
1
2
3
4
5
6
7
8
9
10
methods: {
uodate() {
wx.createSelectorQuery().select('#message_footer').boundingClientRect(function(rect) {
console.log(rect.id)
console.log(rect.height)
console.log(this.scrollViewHeight)
this.windowHeight = this.windowHeight - 100
}).exec()
},
}

这里的console.log(this.scrollViewHeight)打印出的是undefine,大概率是this指向出了问题
可以使用一个临时变量that保存this,再使用that替换this就没问题了

1
2
3
4
5
6
7
8
9
10
11
12
13
methods: {
uodate() {
let that = this
// this.listHeight = `calc(${parseInt(this.listHeight) - 50}px)`;
wx.createSelectorQuery().select('#message_footer').boundingClientRect(function(rect) {
console.log(rect.id)
console.log(rect.height)
console.log(that.scrollViewHeight)
that.windowHeight = that.windowHeight - 100
}).exec()

},
}
uniapp中text标签文字不换行

连在一起的英文和数字会被认为是一个词,默认不打断不换行。需要通过CSS进行强制打断
可以使用 style=” word-break: break-all”以字母或数字作为换行依据,强制打断换行